package javase2.day07.demo01;
/*
吃货类：线程类
    线程任务：吃包子
    对包子状态判断：
        false：wait等待
        true：
            吃包子
            吃完包子，更改包子状态为false
            唤醒包子铺线程类，生产包子
 */
public class ChiHuo extends Thread {
    //锁对象唯一：包子
    private BaoZi bz;

    //使用带参构造方法为包子赋值
    public ChiHuo(BaoZi bz) {
        this.bz = bz;
    }

    @Override
    public void run() {

        while (true){
            synchronized (bz){
                //对包子状态判断：
                if (bz.flag==false){
                    // false：wait等待
                    try {
                        bz.wait();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                //被唤醒后吃包子
                System.out.println("吃货正在吃："+bz.pi+bz.xian+"的包子");
                //吃完包子，更改包子状态为false
                bz.flag=false;
                //唤醒包子铺线程类，生产包子
                bz.notify();
                System.out.println("吃货已经把"+bz.pi+bz.xian+"的包子吃完了");
                System.out.println("-----------------------------------------");
            }
        }
    }
}
